package cn.tedu.ps;

import com.rabbitmq.client.BuiltinExchangeType;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.util.Scanner;

public class PSProduer {
    public static void main(String[] args) throws Exception{
        //1.配置连接信息
        ConnectionFactory cf = new ConnectionFactory();
        cf.setHost("127.0.0.1");
        cf.setPort(5672);//5672是默认端口，可以省略
        cf.setUsername("guest");
        cf.setPassword("guest");
        //2.创建tcp连接对象
        Connection nc = cf.newConnection();
        //3.创建channel
        Channel cc = nc.createChannel();
        //4.定义交换机
        /*
          第一个参数：交换机名
          第二个参数：交换机的类型，可以是“fanout”也可以是BuiltinExchangeType.FANOUT
         */
        cc.exchangeDeclare("exchange_fanout", BuiltinExchangeType.FANOUT);
        //5.向交换机发送数据
        while (true){
            System.out.print("发送消息:");
            String msg = new Scanner(System.in).nextLine();
            if(msg.equals("quit"))
                break;
            /*
              第一个参数是：交换机名称
              第二个参数是：先写成""
              第三个参数是：其他属性设置
              第四个参数是：消息本身
             */
            cc.basicPublish("exchange_fanout","",null,msg.getBytes());
        }
    }
}
